/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dados;

import java.util.ArrayList;
import java.util.GregorianCalendar;


public class ReceitaEspecial extends Receita {
    private MedicamentoEspecial medicamento;
    private GregorianCalendar validade;
    
    public ReceitaEspecial(){
        super();
        medicamento = new MedicamentoEspecial();
        validade = new GregorianCalendar();
        validade.set(GregorianCalendar.MONTH, validade.get(GregorianCalendar.MONTH) + 1);
    }
    
    public ReceitaEspecial(Medico m, Utente u, 
            String c, GregorianCalendar d,int compart,GregorianCalendar validade,MedicamentoEspecial medic, ArrayList<? extends Medicamento> meds){
        super(m,u,c,d,compart,meds);
        medicamento = medic;
        this.validade = validade;  
    }
    
    public ReceitaEspecial(ReceitaEspecial r){
        super(r);
        medicamento = r.getMedicamento();
        validade = r.getValidade();
    }

    public MedicamentoEspecial getMedicamento() {
        return medicamento;
    }

    public GregorianCalendar getValidade() {
        return validade;
    }

    public void setMedicamento(MedicamentoEspecial medicamento) {
        this.medicamento = medicamento;
    }

    public void setValidade(GregorianCalendar validade) {
        this.validade = validade;
    }
    
     @Override
    public boolean equals(Object o){
        ReceitaEspecial r = (ReceitaEspecial) o;
        if(this==o) 
            return true;
        if(o==null)
            return false;
        if(this.getClass() != o.getClass())
            return false;
        
        return super.equals(r) && this.getMedicamento() == r.getMedicamento() && 
                this.getValidade().equals(r.getValidade()); 
    } 
    
    
    public ReceitaEspecial clone(){
        return new ReceitaEspecial(this);
    }
}
